L01: UNIX, Linux, GNU, GPL, distribuce

linux.edumach.cz



1. Operační systém

Primární funkce operačního systému spočívá v tom, že poskytuje podporu pro realizaci počítačových programů. Proto například můžete používat svůj oblíbený editor a vytvářet dokumenty. Bez podpory operačního systému by editor nemohl pracovat – editor potřebuje ke své činnosti interakci s vaším terminálem, s vašimi soubory a dalším technickým vybavením počítače.

Nyní si položme otázku: Proč je nutné psát a číst knihy o operačních systémech, které jsou pouhou podporou vašich aplikací? Každý operační systém obsahuje spoustu programů pro správu, konfiguraci, řízení spojení s ostatními systémy, zálohování a podobně. Pokud jde o operační systém Linux, najdete zde řadu „miniaplikací“, jež vám pomohou pracovat efektivněji. Jestliže tedy nepoužíváte váš počítač pouze k práci s jednou nebo několika málo aplikacemi, je znalost operačního systému velmi důležitá.

Operační systém (nejčastěji označován zkratkou „OS“) může být jednoduchý a minimalizovaný (například DOS) nebo velký a složitý (například OS/2 nebo VMS). Operační systémy typu Unix a Linux patří ke středně velkým systémům. Poskytují o něco více zdrojů a prostředků než první jednoduché operační systémy, a to v takové formě, aby s jejich pomocí bylo možné řešit prakticky všechny úlohy.

2. UNIX

Na začátku byl UNIX

Výběr z historie

Charakteristika UNIXu:

  1. Víceúlohový
  2. Víceuživatelský
  3. Univerzální
  4. Výkonný
  5. Robustní
  6. Bezpečný
  7. Vstup a výstup není závislý na zařízení - vše, i HW je soubor (čtení, zápis)
  8. Velmi silný příkazový řádek s vlastním programovacím jazykem

3. MS-DOS

Systém MS-DOS (Microsoft Disk Operating System) vznikl na počátku 80. let jako jednoduchý operační systém pro osobní počítače IBM PC a jejich klony.

Na rozdíl od UNIXu byl určen především pro jednoho uživatele a jednu úlohu, což odpovídalo tehdejším možnostem "levného" hardwaru.

Microsoft zvolil strategii masové dostupnosti – licencoval MS-DOS výrobcům počítačů, takže většina nových PC byla dodávána již s nainstalovaným systémem.

Tento krok zajistil jeho rychlé rozšíření po celém světě a vytvořil základ pro budoucí úspěch Windows.

MS-DOS byl psán převážně v assembleru (github.com/microsoft/ms-dos), což sice zajišťovalo rychlost, ale omezovalo přenositelnost na jiné platformy.

Jeho jednoduché rozhraní příkazové řádky bylo snadno pochopitelné pro běžné uživatele a vývojáře.

Zatímco UNIX zůstal systémem odborníků a serverů, MS-DOS se stal standardem pro domácí a kancelářské počítače, na kterém vyrostla celá éra osobní výpočetní techniky.

4. Vztah UNIX a MS-DOS

Oblast UNIX MS-DOS / Windows
Cílová skupina Výzkum, univerzity, servery Domácnosti, malé firmy
Cena Drahé systémy Levný hardware
Distribuce Licencovaný, omezený OEM, masově dostupný
Uživatelskost Složitější Jednoduchý
Marketing Žádný Agresivní a úspěšný
Grafické rozhraní Později Od verze Windows 1–3

5. Linux

Charakteristika Linuxu:

6. Vývoj unixových systémů

7. Licenční podmínky

Existuje mnoho odvozenin a verzí. Není úplně jednoduché se ve všech těchto licencích orientovat. Softwaru pod "nějakou" GNU/GPL licencí existuje velmi mnoho a zdaleka nejen samotný Linux nebo SW pro Linux.

S mírnou nepřesností lze obsah všech licencí shrnout nějak takto:

Práva:

  1. Používat pro libovolný účel - soukromý, akademický, komerční
  2. Studovat zdrojový kód (je vojně dostupný na webu):
  3. Pozměňovat zdrojový kód
  4. Dále šířit

Povinnosti:

  1. Všechny změny zveřejnit
  2. Zachovat licenci

Nikde není výslovně řečeno, že takový SW musí být zdarma!

8. Termín "GNU/Linux"

Termín "GNU/Linux" se týká operačního systému, který vznikl spojením projektu GNU a jádra Linux. Ačkoli se běžně mluví o "Linuxu" jako celém operačním systému, což zahrnuje jádro a mnoho dalších programů, Richard Stallman, zakladatel projektu GNU, upozorňoval na důležitost uznání příspěvku projektu GNU.

Projekt GNU byl zahájen v 80. letech Richardem Stallmanem s cílem vytvořit kompletní svobodný operační systém, což znamená operační systém, který by uživatelům umožnil svobodně používat, studovat, upravovat a šířit jeho zdrojový kód. Projekt GNU vyvinul mnoho klíčových softwarových komponentů, jako jsou překladače, knihovny a nástroje, které jsou důležité pro provoz moderního operačního systému.

Toto označení však bylo a stále je předmětem debat a diskusí. Někteří lidé preferují jednodušší termín "Linux" pro celý operační systém, zatímco jiní zdůrazňují významné příspěvky projektu GNU a upřednostňují označení "GNU/Linux".

9. Kde se s Linuxem setkáme

Linux se vyskytuje a používá se v mnoha různých oblastech, ať už jde o profesionální nasazení, vývojové prostředí nebo domácí použití. Zde je deset hlavních oblastí, kde se Linux nejčastěji uplatňuje:

  1. Serverové prostředí: Linux je velmi populární jako operační systém pro servery (převažuje sestava LAMP). Jeho stabilita, bezpečnost a možnost práce s velkým množstvím uživatelů ho činí ideální volbou pro webové servery, aplikační servery, databázové servery a další.

  2. Cloudové a virtualizační platformy: Linux hraje klíčovou roli v cloudových službách a virtualizačních platformách, jako je například platforma OpenStack. Linuxové kontejnery (např. Docker) umožňují snadné balení a nasazování aplikací.

  3. Vývoj software: Mnoho vývojářů preferuje Linux pro vývoj softwaru, díky široké podpoře vývojářských nástrojů a terminálů. Mnoho open-source projektů má svůj základ právě na Linuxu.

  4. Superpočítače a výpočetní clustery: Linux je běžně používán pro superpočítače a výpočetní clustery díky své schopnosti efektivně spravovat výpočetní výkon a velké datové toky (www.top500.org).

  5. Síťová infrastruktura: Linux se často využívá pro správu síťové infrastruktury, jako jsou směrovače, firewally, přepínače a další síťová zařízení.

  6. Mobilní zařízení: Android, nejrozšířenější mobilní operační systém na světě, je postaven na jádru Linuxu. Toto jádro poskytuje základní funkčnost a komunikaci pro mobilní zařízení.

  7. Internet of Things (IoT): Linux je často používán v zařízeních Internetu věcí, od chytrých domácností až po průmyslová zařízení, protože nabízí možnost provozovat různé typy zařízení s různými konfiguracemi.

  8. Vestavěné systémy: Linux se používá v vestavěných systémech, jako jsou routery, televizory (Tizen - Samsung, WebOS - LG), digitální reklamní panely a další spotřební elektronika.

  9. Vzdělávací a výzkumné účely: Mnoho škol a výzkumných institucí používá Linux jako nástroj pro výzkum, výuku a vývoj nových technologií.

  10. Domácí a osobní počítače: Linux je k dispozici pro běžné uživatele jako alternativní operační systém k Windows a macOS. Existuje mnoho distribucí, které jsou zaměřeny na jednoduchost použití a estetiku pro běžného uživatele (Ubuntu, Mint, Fedora…).

Tyto oblasti jsou jen některými z mnoha, kde se Linux uplatňuje. Jeho flexibilita, otevřenost a rozmanitost přispívají k jeho širokému spektru využití.

10. Kdo jej vyvíjí

Linux je vyvíjen velkým množstvím jednotlivých vývojářů, komunit a také společností. Některé z největších firem a organizací, které aktivně přispívají do vývoje Linuxu, jsou:

  1. IBM: má dlouhou historii podpory Linuxu. Společnost přispívá k vývoji jádra, open-source projektů a poskytuje řadu produktů a služeb založených na Linuxu.

  2. Red Hat (nyní součástí IBM): je jedním z předních dodavatelů komerčních distribucí Linuxu a má také značný vliv na vývoj jádra a open-source ekosystému kolem Linuxu.

  3. Google: používá Linux pro mnoho svých služeb a produktů. Android, nejrozšířenější mobilní operační systém, je postaven na jádře Linuxu, a Google také aktivně přispívá k vývoji jádra a dalších open-source projektů.

  4. Intel: má zájem na podpoře Linuxu a otevřeného hardwaru. Přispívá k vývoji jádra, ovladačů a dalšího software pro optimalizaci na svých procesorech.

  5. AMD: je další významný výrobce procesorů, který přispívá k vývoji jádra Linuxu a ovladačů, aby zajišťoval optimální podporu svých produktů.

  6. NVIDIA: je známý výrobce grafických karet. Zatímco dříve byla kritizována za omezenou podporu otevřených ovladačů pro Linux, v posledních letech začala přispívat k vývoji open-source ovladačů pro své grafické karty.

  7. Microsoft: se v minulosti zaměřoval na svůj vlastní operační systém Windows, ale v poslední době začal přispívat k vývoji Linuxu. Společnost přinesla podporu pro Linux v cloudových službách Azure a také přispívá do jádra Linuxu a dalších open-source projektů.

Tato seznam není úplný, a existuje mnoho dalších společností, které přispívají do vývoje Linuxu. Vývoj Linuxu je kolektivním úsilím, kde přispívají lidé z celého světa, a spolupráce firem je důležitou součástí tohoto procesu.

GNU/Linux je největším a nejdůležitějším společným projektem lidstva. Nebýt jej, neexistuje Internet a vše, co s ním souvisí (a že toho je).

11. Generování zisku

Linux je open source operační systém, což znamená, že jeho zdrojový kód je veřejně dostupný a může být modifikován a distribuován bezplatně. To neznamená, že neexistuje způsob, jakým mohou firmy a jednotlivci vytvářet zisk s Linuxem. Níže je několik způsobů, jak může být generován zisk s Linuxem:

  1. Podpora a konzultační služby: Firma nebo jednotlivec může nabízet placenou technickou podporu pro Linux, což zahrnuje různé úrovně asistence, od základního poradenství až po řešení složitých problémů. Zákazníci, kteří potřebují spolehlivou pomoc při provozu a údržbě Linuxu, mohou být ochotni platit za tuto podporu.

  2. Vývoj zakázkových funkcí a úpravy: Firmy mohou vytvářet zakázkové funkce a úpravy operačního systému Linux pro specifické potřeby zákazníků. To může zahrnovat vývoj nových ovladačů, integraci s existujícími systémy nebo jiné úpravy, které zlepší funkcionalitu systému pro konkrétní klientelu.

  3. Distribuce a předplacené služby: Některé firmy nabízejí vlastní distribuce Linuxu s přidanou hodnotou, jako jsou nástroje pro snadnou instalaci a správu, nebo předem konfigurované verze pro určité účely (např. serverové nebo vývojové platformy). Tyto firmy mohou nabízet placené předplatné služby spolu s těmito distribucemi.

  4. Hardware a zařízení s Linuxem: Výrobci hardwaru mohou prodávat počítače, servery, zařízení IoT a jiné produkty, na kterých je operační systém Linux předinstalován. Tím mohou získat zisk z prodeje fyzických produktů.

  5. Patenty a duševní vlastnictví: Některé firmy mohou vlastnit patenty nebo duševní vlastnictví, které je spojeno s některými aspekty Linuxu. Mohou uzavřít licenční dohody s dalšími firmami, které chtějí používat tyto patenty, a tím získávat licenční poplatky.

  6. Cloudové služby a virtualizace: Mnoho cloudových poskytovatelů používá Linux jako základní operační systém pro své služby. Tyto služby mohou být placené a zahrnovat pronájem virtuálních serverů, správu dat a další funkce.

Je důležité si uvědomit, že i když je samotný Linux k dispozici zdarma, služby a přidaná hodnota kolem něj mohou být účtovány za účelem získání zisku. Společenství, vývojáři a firmy se často podílejí na vývoji a podpoře Linuxu a různých projektů s otevřeným zdrojovým kódem, což přispívá k jeho úspěchu a rozšíření.

12. Distribuce

Distribuce = Jádro (kernel) operačního systému + sada svobodného SW + instalátor + další utility + název + průběžná údržba (opravy, aktualizace…)

Existuje i mnoho speciálních distribucí. Jsou buď jednoúčelové nebo zaměřené na specifickou oblast použití. Níže je výběr některých z nich.

Seznam jsem delší dobu nekontroloval. Je možné, že některé už zanikly nebo se přejmenovaly. Zvýrazněné 👍 aktivně využívám

  1. Linux From Scratch
  2. SystemRescueCd
  3. Ultimate Boot CD
  4. 👍 CloneZilla
  5. Coyote Linux
  6. IPCop
  7. BackTrack
  8. Sentry Firewall
  9. MoviX
  10. GeeXboX
  11. Flightlinux
  12. 👍 GParted Live
  13. Freeduc-games
  14. AdvanceCD
  15. XBMC/Kodi
  16. Linux Console
  17. Slax
  18. Cooperative Linux

13. 📝 Úkoly

  1. Aplikace : Najděte alespoň 5 aplikací licencované pod GNU/GPL, které jsou vydávány (portovány) nejen pro Linux, ale i pro Windows, popř. macOS, iOS, Android... U každé uveďte název, k čemu slouží, přesnou licenci, seznam podporovaných OS, popř. další užitečné informace.

  2. FOSS a Freeware : Popište vlastnosti obou termínů a jejich rozdíly.

  3. Sada licencí GNU/GPL : Existují v mnoha variantách. Sestavte jejich seznam (stačí tři). U každé uveďte její hlavní charakteristické vlastnosti.

  4. Speciální distribuce : Vyberte si jednu distribuci ze seznamu výše a popište ji. Účel, vlastnosti, kdo ji vyvíjí, ukázkové video, popř. další užitečné informace.